﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Drawing2D;
using System.Runtime.InteropServices;

namespace TPDiseño2011
{
    public partial class frmMain : Form
    {
        [DllImport("user32")]
        public static extern int SetParent(int hWndChild, int hWndNewParent);
        private string usuario;
        public bool cancelar = false;

        public enum Tabs : int
        {           
            Inicio = 0,
            ImportarCandidatos,
            ExportarResultados,
            Puestos,
            Competencias,
            Factores,
            Preguntas,
            OpcionesDeRespuesta,
            EvaluarCandidatos,
            EmitirReporteComparativo,
            EmitirOrdenDeMerito
        }

        public frmMain(string usuario)
        {
            InitializeComponent();
            this.usuario = usuario.ToUpper();
            lblUsuario.Text = usuario.ToUpper();
        }

        private void TabControl_SelectedTabChanged(object sender, EventArgs e)
        {
            if (this.ActiveMdiChild != null) this.ActiveMdiChild.Close();
            Form form;

            switch((Tabs) TabControl.SelectedIndex)
            {
                case Tabs.Inicio:
                    break;
                case Tabs.ImportarCandidatos:
                    form = new frmImportarCandidatos();
                    InicializarTab(form);
                    break;
                case Tabs.ExportarResultados:
                    form = new frmExportarResultados();
                    InicializarTab(form);
                    break;
                case Tabs.Puestos:
                    form = new frmPuestos(usuario);
                    InicializarTab(form);
                    break;
                case Tabs.Competencias:
                    form = new frmCompetencias();
                    InicializarTab(form);
                    break;
                case Tabs.Factores:
                    form = new frmFactores();
                    InicializarTab(form);
                    break;
                case Tabs.Preguntas:
                    form = new frmPreguntas();
                    InicializarTab(form);
                    break;
                case Tabs.OpcionesDeRespuesta:
                    form = new frmOpcionesDeRespuesta();
                    InicializarTab(form);
                    break;
                case Tabs.EvaluarCandidatos:
                    frmEvaluarCandidatos frmEval = new frmEvaluarCandidatos();
                    frmEval.VolverTabInicio += new EventHandler(VolverTabInicio);
                    InicializarTab(frmEval);                    
                    break;
                case Tabs.EmitirReporteComparativo:
                    form = new frmEmitirReporteComparativo();
                    InicializarTab(form);
                    break;
                case Tabs.EmitirOrdenDeMerito:
                    frmEmitirOrdenDeMerito frmMerito = new frmEmitirOrdenDeMerito(usuario);
                    frmMerito.VolverTabInicio += new EventHandler(VolverTabInicio);
                    InicializarTab(frmMerito);
                    break;
                default:
                    break;
            }
        }

        public void VolverTabInicio(object sender, EventArgs e)
        {
            TabControl.SelectedTabPage = TabPage01;
        }

        private void InicializarTab(Form frm)
        {
            frm.StartPosition = FormStartPosition.Manual;
            frm.Location = new Point(TabControl.Location.X + TabControl.SelectedTabPage.Location.X + 1, TabControl.Location.Y + TabControl.SelectedTabPage.Location.Y + 1);
            frm.MdiParent = this;
            frm.Show();
            SetParent((int)frm.Handle, (int)this.Handle);
        }
    }
}
